Best practices in the development of quality software call for testing code under development at many points. Tools have been developed to generate test cases automatically. However, some techniques generate the test cases with all the possible parameters, which are not only time-consuming, but also not able to efficiently figure out the problems based on characteristics of different under-test software. Some techniques use random numbers to generate the test cases to perform the test procedure, which are not able to determine whether the generated random numbers are effective values to be tested. Such techniques still do not gain advantage on the aspect of efficiency. Some other techniques use non-deterministic programming method to generate the test cases. However, such techniques are still based on random numbers. The test is not able to be performed efficiently.
Accordingly, what is needed is a system, method and non-transitory computer readable medium for software testing to address the above issues.